﻿using Basic.HrRemoteModel.Emp.Model;

namespace Basic.FlowRemoteModel.Application.Model
{
    public class AuditLogItem
    {
        /// <summary>
        /// 日志ID
        /// </summary>
        public long? Id
        {
            get;
            set;
        }
        public long BatchNo
        {
            get;
            set;
        }

        public long NodeId { get; set; }

        public string NodeName { get; set; }

        public FlowNodeType NodeType { get; set; }

        public FlowAuditType AuditType { get; set; }


        public EmpUnitDept Emp { get; set; }

        /// <summary>
        /// 流程项最终审核状态
        /// </summary>
        public FlowAuditItemStatus? Status { get; set; }

        /// <summary>
        /// 用户审核状态
        /// </summary>
        public FlowAuditItemStatus? AuditState { get; set; }

        /// <summary>
        /// 子流程审核状态
        /// </summary>
        public FlowSubAuditStatus? SubFlowState { get; set; }

        public DateTime? EndTime { get; set; }
        public string AuditOpinion { get; set; }

        /// <summary>
        /// 启动时间
        /// </summary>
        public DateTime? StartTime { get; set; }

        public DateTime CreateTime { get; set; }

        public AuditLogItem[] Children { get; set; }

        public string Show { get; set; }
        public long FormId { get; set; }
        public bool IsUpFile { get; set; }
        public bool IsSign { get; set; }
        public AuditFile SignFile { get; set; }

        public AuditFile[] Files { get; set; }
        /// <summary>
        /// PDF签名文件
        /// </summary>
        public AuditFile[] PdfSignFile { get; set; }

        public FlowItemMarkState MarkState { get; set; }
    }
}
